package org.edu.modules.stu.shet.entity;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.edu.common.base.BaseEntity;
import java.sql.Date;
import org.hibernate.validator.constraints.Length;

import java.io.Serializable;

/**
 * entity-学生预约表
 */
@TableName("ve_stu_reservation")
@Data
@Accessors(chain = true)
@EqualsAndHashCode(callSuper = false)
@ApiModel(value="学生预约表对象", description="ve_stu_reservation")
public class VeStuReservation extends BaseEntity implements Serializable {

    private static final long serialVersionUID = 1L;

    @TableField
    @ApiModelProperty(value = "")
        private Integer cdId;

    @TableField
    @ApiModelProperty(value = "")
        private Integer assocId;

    @TableField
    @ApiModelProperty(value = "场地名称")
    @Length(max = 100)
        private String cdName;

    @TableField
    @ApiModelProperty(value = "限制人数")
        private Integer limitNum;

    @TableField
    @ApiModelProperty(value = "开始时间")
        @JsonFormat(timezone="GMT+8",locale="zh",  pattern="yyyy-MM-dd")
        private Date statusTime;

    @TableField
    @ApiModelProperty(value = "结束时间")
        @JsonFormat(timezone="GMT+8",locale="zh",  pattern="yyyy-MM-dd")
        private Date endTime;

    @TableField
    @ApiModelProperty(value = "状态（1：启用，0：禁用）")
        private Integer status;

    @TableField
    @ApiModelProperty(value = "审核人ID")
    @Length(max = 32)
        private String authPersonId;

    @TableField
    @ApiModelProperty(value = "审核人")
    @Length(max = 255)
        private String authPersonName;

    @TableField
    @ApiModelProperty(value = "审核状态(1通过，0不通过，2未审核)")
        private Integer authStatus;

    @TableField
    @ApiModelProperty(value = "不通过原因")
    @Length(max = 255)
        private String auditReason;

    @TableField
    @ApiModelProperty(value = "预约说明")
    @Length(max = 255)
        private String yyRemark;

    @TableField
    @ApiModelProperty(value = "审核级别 1会长 2 副会长 3 指定审核人")
        private Integer auditLevel;
}
